var async=require('async');
var h=require('./helper');

//同步执行，最终回调函数只有一个参数（错误对象），如果全部正常执行，则为undefined
//如果中途出错，则出错后马上调用最终的callback。还未执行的不再执行。

var list=[
    {name:'A',delay:500},
    {name:'B',delay:1000},
    {name:'C',delay:500},
    {name:'D',delay:100}
];

async.eachSeries(list, function (item,cb) {
   setTimeout(function () {
       h.log(item.name);
       if('C'==item.name){
           cb({msg:'Error-C'});
       }else{
           cb(null);
       }
   },item.delay);
}, function (err) {
    console.log('Err:',err);
});